interface ParsedUrlParams {
  url: string;
  query: { [key: string]: string | undefined };
}

/**
 * 解析 URL 参数
 * @param inputUrl {string} - 需要解析的 URL
 * @returns {ParsedUrlParams} - 解析后的 URL 参数
 */
export function parseUrlParams(inputUrl: string): ParsedUrlParams {
  // 检查 inputUrl 是否为空或无效
  if (!inputUrl) {
    throw new Error("Input URL 为空或无效。");
  }

  // 使用 '?' 分割 URL 和查询字符串
  const [baseUrl, queryString] = inputUrl.split('?');
  const query: { [key: string]: string | undefined } = {};

  if (queryString) {
    // 分割查询字符串
    const pairs = queryString.split('&');
    for (const pair of pairs) {
      if (!pair) continue;
      const [key, value] = pair.split('=');
      query[decodeURIComponent(key)] = value ? decodeURIComponent(value) : "";
    }
  }

  return {
    url: baseUrl,
    query
  };
}
export default parseUrlParams;
